
/*
 * Hlpay-Plus aggregate payment system. Copyright
 * (c) 2022-2023 Hlpay Team Copyright has the right of final interpretation.
 */
package com.hlkj.pay.app.adminuser;
import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.admin.req.role.RoleAddReq;
import com.hlkj.pay.vo.admin.req.role.RolePermissionReq;
import com.hlkj.pay.vo.admin.req.role.RoleUpdateReq;
import com.hlkj.pay.vo.admin.resp.role.RoleDetailResp;

import java.util.List;

/**
 * @author HlpayTeam
 * @date 2024/09/06 10:35
 */
public interface IRoleAppService {
	/**
	 * queryRoleDetail
	 * @param roleCode
	 * @return
	 */
	CommonResult<RoleDetailResp> queryRoleDetail(String roleCode);

	Boolean isAdmin(List<String> roleCodes,Integer sysType);
	/**
	 * addRole
	 * @param roleAddReq
	 * @return
	 */
	CommonResult<String> addRole(RoleAddReq roleAddReq);
	/**
	 * updateRole
	 * @param roleUpdateReq
	 * @return
	 */
	CommonResult<Void> updateRole(RoleUpdateReq roleUpdateReq);
	/**
	 * deleteRole
	 * @param roleCode
	 * @return
	 */
	CommonResult<Void> deleteRole(String roleCode);
	/**
	 * assignRolePermission
	 * @param rolePermissionReq
	 * @return
	 */
	CommonResult<Void> assignRolePermission(RolePermissionReq rolePermissionReq);

}
